package org.batatasframework.support.factory;

import org.batatasframework.support.database.jdbc.DatabaseAccessor;
import org.batatasframework.support.database.metadatas.DatabaseMetadataResource;
import org.batatasframework.support.editable.EditablePlatform;
import org.batatasframework.support.searchable.SearchablePlatform;

/**
 * <pre>
 * 这个接口是专门管数据库表的定义的元数据以及通过配置文件或代码定义表；
 * 被定义的表注册后则是通用的定义表，包括以后的查询、编辑等操作，可以使用已经定义的信息。
 * </pre>
 * @author jackson
 *
 */
public interface TableDefinitionFactory extends TableDefinitionRegistry{

	DatabaseAccessor buildDatabaseAccessor() throws Exception;
	
	SearchablePlatform getSearchablePlatform();
	
	EditablePlatform getEditablePlatform();

	DatabaseMetadataResource getDatabaseMetadataSources();
}
